home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc599.txt < prev    next >
Text File  |  1994-08-01  |  17KB  |  531 lines

  1.  
  2.                                                                13 Dec 73
  3. NIC 20854, RFC 599:  Update on NETRJS
  4.  
  5.  
  6.  
  7. Network Working Group                                   Robert T. Braden
  8. NIC #20854                                                      UCLA/CCN
  9. RFC #599                                               December 13, 1973
  10.  
  11.                             UPDATE ON NETRJS
  12.  
  13. A.  INTRODUCTION
  14.  
  15.    In July 1971, CCN published RFC #189 defining NETRJS, a private
  16.    protocol for remote job entry.  NETRJS provides a Network interface
  17.    to CCN's rje program called RJS (Remote Job Service).(3)  As noted in
  18.    an earlier RFC,(6) "RJS" is the proper name of a software package
  19.    existing ony at CCN, not a generic term for rje.
  20.  
  21.    For over two years now, CCN has provided rje service to the Network
  22.    using NETRJS.  We know of the following distinct implementations of
  23.    NETRJS user porgrams:
  24.  
  25.       RAND             OS/MVT on 370/158 (originally on 360/65)
  26.  
  27.       UCLA-NMC         SEX on Sigma 7
  28.  
  29.       Illinois         ANTS on PDP-11
  30.  
  31.       Utah             Tenex on PDP-10
  32.  
  33.       MIT-DMCG         ITS on PDP-10
  34.  
  35.       Harvard          DEC system on PDP-10
  36.  
  37.       UCSB             OS/MVT on 360/75
  38.  
  39.       ISI,BBN,NIC,I4   Tenex on PDP-10
  40.  
  41.    We apologize to anyone slighted by omission from this list.  Writing
  42.    a new user process for NETRJS has proved to be a modest and
  43.    straightforward task.
  44.  
  45.    During the month of October, 1973, CCN processed 1373 batch jobs via
  46.    NETRJS.  The complete statistics are:
  47.  
  48.         1,373          Jobs submitted
  49.  
  50.         1,105          Jobs "printed"
  51.  
  52.             0          Jobs "punched"
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. Braden                                                          [page 1]
  60.  
  61.                                                                13 Dec 73
  62. NIC 20854, RFC 599:  Update on NETRJS
  63.  
  64.  
  65.  
  66.        49,400          Cards "read"
  67.  
  68.       822,900          Lines "printed"
  69.  
  70.        18,907          Pages "printed"
  71.  
  72.         393.6          Connect hours
  73.  
  74.    The average job submitted was 360 lines ("cards"), and returned 745
  75.    lines on 17.1 pages.  These figures are fairly typical.
  76.  
  77. B.  NEW ICP SOCKETS
  78.  
  79.    At the request of the Socket Czar, Jon Postel, (see RFC #433) we
  80.    intend to move the NETRJS ICP sockets from 11, 13, and 15 to 71, 73,
  81.    and 75, respectively.  At present, NETRJS is available from either
  82.    socket subspace, so system programmers responsible for maintaining
  83.    NETRJS user processes can switch over at their leisure.  We plan to
  84.    "decommit" sockets 11, 13, and 15 on July 1, 1974.
  85.  
  86.    Those hosts which access NETRJS via socket 1 are unaffected.
  87.  
  88. C.  NEW NETRJS
  89.  
  90.    Last Fall, CCN installed a new implementation of its NETRJS server.
  91.    An internal NETRJS rewrite was necessitated by other system changes
  92.    and was timed to coincide with installation on September 5 of the
  93.    "last release" of OS/360, Release 21.7.  The new version of NETRJS
  94.    contains a number of internal improvements over the original version
  95.    written two years ago.  There are also a few external differences, as
  96.    follows:
  97.  
  98.       1. No More Squish
  99.  
  100.          The long-standing "squish" problem in NETRJS has been fixed.
  101.          This problem arose because of the "squishiness" of Network data
  102.          transfer, i.e. the variable delay between originator and
  103.          receiver processes due to NCP buffering.  The result was that a
  104.          short print output file could be "transmitted" by RJS,
  105.          dequeued, and discarded at CCN before the first message had
  106.          actually reached the remote host.  If the remote host crashed
  107.          or the user tried to cancel (and save) the output stream, it
  108.          was too late; the output was lost in the "squish".  We were
  109.          careless about this in the first version.  Now NETRJS awaits
  110.          the RFNM from the end-of-data mark before telling RJS to
  111.          discard the job output.
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118. Braden                                                          [page 2]
  119.  
  120.                                                                13 Dec 73
  121. NIC 20854, RFC 599:  Update on NETRJS
  122.  
  123.  
  124.  
  125.       2. Timeouts
  126.  
  127.          The new verson is a little tougher on timeouts, to free CCN
  128.          resources when users are slow.
  129.  
  130.             a. Signon Timeout
  131.  
  132.                If the user, after connecting to NETRJS and receiving the
  133.                READY message, fails to send a valid SIGNON command
  134.                within 3 minutes, CCN will close the Telnet connections.
  135.  
  136.             b. Data Transfer Timeout
  137.  
  138.                (1)  CCN will abort the READER data transfer connection
  139.                if the user site leaves the connection open without
  140.                sending any bits for 5 minutes.
  141.  
  142.                (2)  CCN will abort the PRINTER or PUNCH data transfer
  143.                connection if the user site stops accepting bits for 5
  144.                minutes.
  145.  
  146.       3. New Messages
  147.  
  148.          The NETRJS messages to the remote terminal have been revised to
  149.          better distinguish problems at CCN, at the user site, or in the
  150.          Network.  See Reference 8 for a complete list.
  151.  
  152.       4. Subsystem Interrupt
  153.  
  154.          The user can send a Control-C to terminate his NETRJS session
  155.          either before or after signon.  Continuation is not possible
  156.          after the Control-C.
  157.  
  158.          This provides an escape for a user who for some reason can't
  159.          signon or signoff or close his Telnet connection.  If the user
  160.          entered via the RJS command in Socket 1, Control C will return
  161.          him to the Server Telnet command level.
  162.  
  163.    One other improvement will reduce user frustration:  NETRJS now
  164.    returns an INVALID SIGNON message if the user enters anything but a
  165.    valid SIGNON command after initially connecting to the NETRJS server.
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177. Braden                                                          [page 3]
  178.  
  179.                                                                13 Dec 73
  180. NIC 20854, RFC 599:  Update on NETRJS
  181.  
  182.  
  183.  
  184. D.  CLARIFICATIONS AND AMENDMENTS TO NETRJS PROTOCOL
  185.  
  186.    Over the past two years, system programmers writing NETRJS user
  187.    processes have pointed out areas of the protocol which were poorly
  188.    defined in RFC #189.  In addition a few minor changes have been made,
  189.    largely as the result of implementation accidents.
  190.  
  191.       1.  The jobname header of a print file does not have an ASA
  192.           carriage control byte.  However, it will be encoded in the
  193.           format (compressed or truncated) selected by a particular
  194.           VRBT.
  195.  
  196.       2.  The punch connection sends 81 byte records, the first byte
  197.           being a blank carriage control character.  This is contrary to
  198.           RFC #189 and is illogical; it was an implementation bug which
  199.           we kept for compatibility.
  200.  
  201.       3.  Page 3 of RFC #189 defined fixed values for the user's data
  202.           transfer sockets relative to his Telnet sockets.  In fact,
  203.           NETRJS does not enforce these user data transfer sockets but
  204.           will accept RFC's for any user sockets.
  205.  
  206.       4.  RFC #189 specified a choice of two character mappings for the
  207.           virtual remote batch terminal:  EBCDIC and ASCII (-68).  An
  208.           ASCII-63 mapping was later added for the convenience of users
  209.           with Model 33-like keyboards (RAND, actually).  The ASCII-63
  210.           mapping is selected by doing an ICP to socket 75 or by
  211.           entering "TTYRJS" in CN's Telnet Server.  figure 1 shows the
  212.           actual ASCII-63 mapping in use today.  This supercedes the
  213.           earlier version of the mapping, shown in RFC 338.
  214.  
  215.       5.  The ASCII-68 mapping specified in RFC 189 was also changed to
  216.           provide unique mappings for all ASCII characters.  The present
  217.           ASCII-68 mapping used by both NETRJS and TSO at CCN is shown
  218.           in Figure 1.
  219.  
  220. E.  RJS TERMINAL OPTIONS
  221.  
  222.    When a new NETRJS virtual terminal is defined, certain options are
  223.    available; these options are listed below.  If the user does not
  224.    specify otherwise, CCN will use truncated data format and turn all
  225.    other options on.
  226.  
  227.       1. Truncated/Compressed Data Format
  228.  
  229.          As explained in RFC 189, a virtual remote batch terminal under
  230.          RJS may use either the turncated data format (default) or the
  231.  
  232.  
  233.  
  234.  
  235.  
  236. Braden                                                          [page 4]
  237.  
  238.                                                                13 Dec 73
  239. NIC 20854, RFC 599:  Update on NETRJS
  240.  
  241.  
  242.  
  243.          compressed format for printer and punch output.  With the
  244.          truncated format, CCN merely removes trailing blanks from each
  245.          output line; if compressed format is specified, CCN will also
  246.          encode strings of inbedded blanks or other repeated characters.
  247.          CCN will accept either format in the card reader stream,
  248.          regardless of the terminal option.  See Reference 9 for
  249.          discussion of the virtues of compression.
  250.  
  251.       2. Automatic Coldstart Job Resubmission
  252.  
  253.          If "R" (Restart) is specified in the accounting field on the
  254.          JOB card and if this option is chosen, RJS will automatically
  255.          resubmit the job from the beginning if the CCN operating system
  256.          should be "coldstarted" before all output from the job is
  257.          returned.  Otherwise, the job will be lost and must be
  258.          resubmitted from the remote terminal in case of a coldstart.
  259.  
  260.       3. Automatic Output RESTART
  261.  
  262.          With this option, transmission of printer output which is
  263.          interrupted by a broken connection always starts over at the
  264.          beginning.  Without this option, the output is backspaced
  265.          approximately one page when restarted, unless the user forces
  266.          the output to start over from the beginning with a RESTART
  267.          command when the printer connection is re-opened and before
  268.          printing begins.
  269.  
  270.       4. Password Protection
  271.  
  272.          This option allows a password to be supplied when a terminal is
  273.          signed on, preventing unauthorized use of the terminal ID.
  274.  
  275.       5. Suppression of Punch Separator and Large Letters.
  276.  
  277.          This option suppresses both separator cards which RJS normally
  278.          puts in front of each punched output deck, and separator pages
  279.          on printed output containing the job name in large block
  280.          letters.  These separators are an operational aid when the
  281.          ouptut is directed to a real printer or punch, but generally
  282.          undesirable for an ARPA user who is saving the output in a file
  283.          for on-line examination.
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295. Braden                                                          [page 5]
  296.  
  297.                                                                13 Dec 73
  298. NIC 20854, RFC 599:  Update on NETRJS
  299.  
  300.  
  301.  
  302. F.  WARNING ON TENEX NETRJS USER PROCESS (6)
  303.  
  304.    The Tenex implementation of NETRJS user program is a command normally
  305.    called "RJS".  This program has some pitfalls of which users should
  306.    be aware.
  307.  
  308.       1.  For strictly historical reasons, the commonly-available
  309.           version of the Tenex RJS command uses Socket 15, and
  310.           therefore, the ASCII-63 translation.  We hope to propagate
  311.           soon a version which uses the ASCII-68 mapping via Socket 73,
  312.           and stamp out the earlier version.
  313.  
  314.       2.  The Tenex RJS command fails to recognize the US character
  315.           sometimes used instead of CR LF as end-of-line.  As noted in
  316.           RFC 571, the Tenex user FTP program has the same problem.
  317.  
  318.       3.  The Tenex RJS command truncates without warning card images
  319.           exceeding 80 characters in length.
  320.  
  321. G.  REFERENCES ON NETRJS
  322.  
  323.    1. "Interim NETRJS Specifications", R. T. Braden.  RFC #189:  NIC
  324.       #7133, July 15, 1971.
  325.  
  326.       This is the basic system programmer's definition document, and is
  327.       really the final specification.  The proposed changes mentioned on
  328.       the first page of RFC #189 were never implemented, since the DTP
  329.       then in vogue became obsolete.
  330.  
  331.    2. "NETRJS Remote Operator Commands", R. T. Braden.  NIC #7182,
  332.       August 9, 1971
  333.  
  334.       This document together with References 3 and 8 define the remote
  335.       operator (i.e. user) command language for NETRJS, and form the
  336.       basic user documentation for NETRJS at CCN.
  337.  
  338.    3. "Implementation of a Remote Job Service", V. Martin and T. W.
  339.       Springer.  NIC #7183, July, 1971.
  340.  
  341.    4. "Remote Job Entry to CCN via UCLA Sigma 7; A scenario", UCLA/CCN.
  342.       NIC #7748, November 15, 1971.
  343.  
  344.       This document described the first NETRJS user implementation
  345.       available on a server host.  This program is no longer of general
  346.       interest.
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354. Braden                                                          [page 6]
  355.  
  356.                                                                13 Dec 73
  357. NIC 20854, RFC 599:  Update on NETRJS
  358.  
  359.  
  360.  
  361.    5. "Using Network Remote Job Entry", E. F. Harslem.  RFC #307:  NIC
  362.       #9258, February 24, 1972.
  363.  
  364.       This document is out of date, but describes generally the Tenex
  365.       NETRJS user process "RJS".
  366.  
  367.    6. "EBCDIC/ASCII Mapping for Network RJS", R. T. Braden.  RFC #338:
  368.        NIC #9931, May 17, 1972.
  369.  
  370.       The ASCII-63 mapping described here is no longer correct, but
  371.       CCN's standard ASCII-68/EBCDIC mapping is described correctly.
  372.  
  373.    7. "NETRJT--Remote Job Service Protocol for TIP's", R. T. Braden.
  374.       RFC #283: NIC 38165, December 20, 1971.
  375.  
  376.       This was an attempt to define an rje protocol to handle TIPs.
  377.       Although NETRJT was never implemented, many of its features are
  378.       incorporated in the current Network standard RJE protocol.
  379.  
  380.    8. "CCN NETRJS Server Messages to Remote User", R. T. Braden.  NIC
  381.       #20268, November 26, 1973.
  382.  
  383.    9. "FTP Data Compression", R. T. Braden.  RFC #468:  NIC #14742,
  384.       March 8, 1973.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413. Braden                                                          [page 7]
  414.  
  415.                                                                13 Dec 73
  416. NIC 20854, RFC 599:  Update on NETRJS
  417.  
  418.  
  419.  
  420. FIGURE 1.  NETRJS CHARACTER MAPPINGS AT UCLA-CCN
  421.  
  422.    The character set of the VRBT (VIRTUAL Remote Batch Terminal) is
  423.    determined by the initial connection to RJS, as follows:
  424.  
  425.       VRBT Character Set  |  ICP Socket    OR    Server Telnet Command
  426.       ----------------------------------------------------------------
  427.          EBCDIC           |      71         |          RJS
  428.          ASCII-68         |      73         |          ARJS
  429.          ASCII-63(tty)    |      75         |          TTYRJS
  430.  
  431.    These mappings are as follows:
  432.  
  433.       ASCII-68 Mapping:
  434.  
  435.          Corresponding graphics are mapped one-to-one.
  436.  
  437.          Unmatched graphics are mapped as in the table below.
  438.  
  439.          ASCII-68 controls are mapped one-to-one onto the matching
  440.          EBCDIC controls, with DC4(ASCII) mapped onto TM(EBCDIC).
  441.  
  442.       ASCII-63 Mapping:
  443.  
  444.          Corresponding graphics are mapped one-to-one.
  445.  
  446.          ASCII codes X'61' - X'7A' (the ASCII-68 lower case letters are
  447.          mapped onto EBCDIC lower case.
  448.  
  449.          Unmatched graphics are mapped as shown in the table below.
  450.  
  451.          ASCII-63 controls X'00' - X'1F' are mapped as for ASCII-68.
  452.  
  453.          ASCII codes X'60' and X'7B' - X'7E' are mapped as shown in the
  454.          following table.
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472. Braden                                                          [page 8]
  473.  
  474.                                                                13 Dec 73
  475. NIC 20854, RFC 599:  Update on NETRJS
  476.  
  477.  
  478.  
  479.                 EBCDIC       |    ASCII-68 VRBT    |    ASCII-63 VRBT
  480.          ---------------------------------------------------------------
  481.          vertical bar  X'4F' | vertical bar  X'7C' | open bracket  X'5B'
  482.          not sign      X'5F' | tilde         X'7E' | close bracket X'5D'
  483.          cent sign     X'4A' | back slash    X'5C' | back slash    X'5C'
  484.          underscore    X'6D' | underscore    X'5F' | left arrow    X'5F'
  485.          .             X'71' | up arrow      X'5E' | up arrow      X'5E'
  486.          open bracket  X'AD' | open bracket  X'5B' | .             X'7C'
  487.          close bracket X'BD' | close bracket X'5D' | .             X'7E'
  488.          .             X'8B' | open brace    X'7B' | .             X'7B'
  489.          .             X'9B' | close brace   X'7D' | .             X'7D'
  490.          .             X'79' | accent        X'60' | .             X'60'
  491.  
  492.          Note : this page is available on-line as HELP RJSCHARS in CCN's
  493.          Telnet Server (Socket 1).  The on-line version is set up to be
  494.          typed out on an ASCII-68 terminal.
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531. Braden                                                          [page 9]